APPENDIX A. ERROR/FLOW CONTROL CONCEPTS This appendix includes detailed information on how Sportster 14,400 modems use error control and, especially useful, some statistics and guidelines on using the modem for the best throughput. ERROR CONTROL AND THROUGHPUT OVERVIEW Error control protects the integrity of data transferred over phone channels and is available for calls at 1200 bps and above. It can be disabled, although high speed calls (above 2400 bps) should always be under error control. The operations defined in an error-control protocol include the following. ù Establishment of compatibility ù Data formatting into blocks or (MNP) frames ù Error detection through Cyclic Redundancy Checking (CRC) ù Positive acknowledgment of error- free blocks and negative acknowledgment of corrupted data blocks ù Retransmission of corrupted data blocks The Sportster 14,400 is set at the factory to &M4, causing it to try for an error-control connection and, if that isn't possible, to proceed with the call in Normal mode. The modem first tries for a V.42 connection, then an MNP connection. The following infor mation is based on the Sportster 14,400's setting of &M4. CCITT V.42 HANDSHAKING The exchange of signals between two devices in order to establish a communications link is called handshaking. CCITT V.42 includes a two- stage handshaking process. ù A Detection phase that is based on an exchange of predefined characters. ù LAPM (Link Access Procedures for Modems) Negotiation. In this phase, the modems identify their capabilities concerning maximum data block size and the number of outstanding data blocks allowed before an acknowledgment is required. MNP HANDSHAKING This protocol is supported by the CCITT V.42 Recommendation. It was originally developed by Microcom, Inc., and is now in the public domain. MNP handshaking begins with an MNP Link Request sent by the calling modem. If the remote modem doesn't recognize the request, error control isn't possible. DATA COMPRESSION If the modems successfully establish a V.42 connection, they also negotiate for V.42 bis data compression. If they successfully establish an MNP connection, they negotiate for MNP5 data compression. Modems using V.42 bis compression negotiate the following options. ù Dictionary size, that is, the amount of memory available for compression table entries. (Entries are codes devised for redundant data. The data is packed into shorter data units, called code words, and unpacked by the receiving modem.) Possible sizes are as follows. USRobotics modems use 11-bit, or 2048-entry dictionaries, but drop down if the remote modem uses a 512- or 1024-entry dictionary. BitsEntries 9 512 10 1024 11 2048 ù Maximum string length of each entry. As the dictionary fills, the modem deletes the oldest unused strings. V.42 bis compression is more efficient than MNP5 compression in part because it dynamically deletes unusable strings. In addition, it works better with files that are already compressed. These include already compressed files, such as the .ZIP files downloaded from many Bulletin Boards, and 8-bit binary files, which appear to the modem to be compressed. MNP5 compression should not be used with such files because it adds data to them, which lessens throughput. (The additional data is stripped when the file is decompressed by the remote modem.) When transferring such files, it's best to set the modem to &K3: this allows V.42 bis compression to work dynamically with the compressed data, but disables MNP5. FLOW CONTROL Flow control of data from the computer or terminal is required under error control for two reasons. 1.The transmitting modem buffers a copy of each frame it transmits to the remote end until it is acknowledged by the receiving modem. 2.If errors are encountered, the transmitting modem must resend the corrupted data. This retransmission activity, combined with the steady stream of data from the computer or terminal, can overflow the buffer. THROUGHPUT GUIDELINES The following guidelines should help to make the most of the modem's advanced performance features. In many instances, experimentation and experience will indicate what works best for your applications. 1.Optimal throughput is attained under the following conditions. ù The communications software allows fixing the serial port rate higher than the connection rate, for example, setting the software to 38.4K bps and setting the modem to &B1. If the software automatically switches bit rates to follow the connection rate, the modem's serial port rate also must be set to follow the connection rate for each call, &B0, and throughput will be limited. ù The call is under data compression. ù The data is comprised of text files rather than binary files such as .EXE or .COM files. See the table at the end of this appendix. 2.Disable MNP5 compression for files that are already compressed, or 8-bit binary files, which appear to the mo dem to be already compressed. Set the modem to &K3, which disables MNP5 and leaves V.42 bis compression enabled. 3.Many non-text files require a file- transfer protocol. The file transfer may be slowed down by a file-transfer protocol, but the results vary. For example, certain public domain file- transfer protocols have the following effects. KermitWith the basic Kermit, throughput is severely reduced due to short block lengths (under 128 bytes) and acknowledgment turnaround time. Later enhancements to Kermit permit larger data- block lengths. XmodemThroughput may be reduced if your version uses short block lengths, for example, 128 bytes. Some versions use blocks of 1 Kbyte, which is much better, although overhead (error-control protocol information) still affects overall throughput. YmodemThis protocol is similar to Xmodem with 1-Kbyte block lengths, and allows multiple files to be sent in one transfer. These file-transfer protocols further reduce throughput when an error- control connection is established. The accuracy of the data is checked twice, by the file-transfer protocol and the modem. To avoid redundancy, use these protocols only for non-ARQ connections. For better throughput, we recommend Ymodem-G, with the modem left at its error-control default, &M4. Ymodem-G assumes the modems are handling error control: overhead is minimal, with throughput almost equal to that obtained with no file-transfer protocol. However, keep in mind that Ymodem-G is only useful if the modems are using error control. In addition, follow this recommendation only if your machine and software support hardware flow control. On the other hand, the most current version of Zmodem can yield even greater efficiency. Leave the modem at its error-control default (&M4) and data compression default, &K1. Zmodem performs the same kind of com pression as V.42 bis; it turns off its compression if files are already compressed. ONLINE FALLBACK/FALL FORWARD Under error control, if a disturbance on the phone line causes an error to a data block, the receiving modem replies with a negative acknowledgment. In response, the transmitting modem retrieves a copy of the original data block from its Transmit buffer, and every block it sent after that block, and retransmits them. This keeps the data error-free and in sequence. However, there is a retransmit limit: the modems hang up if line disturbances are so severe that one of the modems has retransmitted the same block of data twelve times without a positive acknowledgment. High-speed calls are more vulnerable than transmission at 2400 bps and below. In order to keep V.32 bis modems online above 2400 bps, instead of reaching the retransmit limit and hanging up, one of the modems requests that they fall back, that is, that they reduce their rate from 14.4K to 12K bps, and then to 9600 bps or lower, if necessary. When online conditions improve, the modems fall forward to the next higher speed, up to the link rate of the call. ACHIEVABLE THROUGHPUT STATISTICS The table below indicates the maximum throughput, in characters per second (cps), that can be expected under the following optimal conditions. ù Serial port rate set at 57.6K bps; modem set to &B1 (Note that both your software and your computer must support 57.6K bps in order for you to use that rate) ù Connection (link) rate of 14.4K bps (assuming no protective fallback to a lower speed is necessary) ù V.42 bis compression negotiated for the call, and the default size 11- bit, 2048-entry dictionary ù Straight data (that is, not already compressed, no file-transfer protocol) ù Transmission from a fast (for example, 286) computer Throughput (cps) when set to 14.4K bps File Type MNP5 V.42 bis Assembler or Compiler listing 2880 3840 Text file 2325-2625 3400-5760 Binary file: .EXE 2175-2400 2030-2600 Binary file: .COM 2100-2250 2050-2300 .ZIP files (common on BBS's)* 1500-1650 1700 Random binary 8-bit* 1460-1575 1700 * These files are already compressed or appear to the modem to be com pressed. Additional MNP5 compres sion causes throughput lower than what can be expected using MNP without compression. We recommend setting the modem to &K3 when transferring these files, to allow V.42 bis but disable MNP5. The following table indicates the maximum throughput, in characters per second (cps), that can normally be expected in the same conditions as the previous table , but with a serial port rate of 38.4K bps. Throughput (cps) when set to 14.4K bps File Type MNP5 V.42 bis Assembler or Compiler listing 2880 3840 Text file 2325-2625 3400-3480 Binary file: .EXE 2175-2400 2030-2600 Binary file: .COM 2100-2250 2050-2300 .ZIP files (common on BBS's)* 1500-1650 1700 Random binary 8-bit* 1460-1575 1700 *We recommend setting the modem to &K3 when transferring these types of files. See the note attached to the previous table.